package com.wdd.owntool.di

import android.app.Application
import com.wdd.libbase.base.BaseApplication
import com.wdd.libbase.di.ApplicationModule
import com.wdd.libbase.di.HttpClientModule
import dagger.BindsInstance
import dagger.Component
import dagger.android.AndroidInjector
import dagger.android.support.AndroidSupportInjectionModule
import javax.inject.Singleton

/**
 * @ProjectName: Tools
 * @Package: com.wdd.tools.di
 * @ClassName: AppModuleComponent
 * @Description: java类作用描述
 * @Author: 王丹丹
 * @CreateDate: 2019/6/27 9:36
 * @UpdateUser: 更新者
 * @UpdateDate: 2019/6/27 9:36
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
@Singleton
@Component(modules = [ApplicationModule::class, HttpClientModule::class, AndroidSupportInjectionModule::class,
    AppBindingModule::class])
interface AppModuleComponent : AndroidInjector<BaseApplication?> {
    @Component.Builder
    interface Builder {
        @BindsInstance
        fun application(application: Application?): Builder?

        fun build(): AppModuleComponent?
    }
}